According to some studies, the volume of information over a network, such as the Internet, is expected to more than triple over the next three years. Data is likely to remain the largest percentage of Internet traffic, with a large percentage of this information being digital video content and/or audio content. Often, the issues of concern with Internet traffic range from business to consumer response and order times, to the time required to deliver business information to a traveler using a wireless device, to the download time for rich media such as music, videos, and so forth. Thus, not surprisingly, a major complaint among Internet users is a lack of speed. Additionally, users' complaints often center on how long it takes to access and display content, such as video content, on their computing device. This may especially be true where the computing device involves wireless computing devices such that the content is transmitted over slower transmission rates. One solution, therefore, may be to send less data. This is where compression may help.
Briefly, compression of the data is typically directed towards finding and reducing an amount of redundancy within the content, in order to be able to transmit the data in a more efficient form. For digital video content, compression then involves decreasing a number of bits used to represent an image in such a way that either an exact replica of the image or an approximate replica of the image is generated. The reduced image may then be transferred over a network and/or even stored more efficiently than the original image having more bits. When the content is to be played, such as being rendered to a video display screen, the compressed content may then be uncompressed.
One such set of compression mechanisms in wide use today are known as MPEG—from the Moving Picture Experts Group (MPEG). Briefly, MPEG is an encoding and compression standard for digital broadcast content. MPEG provides compression support for television quality transmission of video broadcast content. Moreover, MPEG provides for compressed audio, control, and even user broadcast content. One embodiment of MPEG-2 standards is described in ISO/IEC 13818-7 (available through the International Organization for Standardization or Organisation internationale de normalization, which is widely known as ISO), which is hereby incorporated by reference. Other standards from MPEG have also been generated, including, MPEG-4 for audio-visual objects.
MPEG-2 employs content streams, which may include Packetized Elementary Streams (PES), which typically include fixed (or variable sized) blocks or frames of an integral number of elementary streams (ES) access units. An ES typically is a basic component of an MPEG content stream, and includes digital control data, digital audio, digital video, and other digital content (synchronous or asynchronous). A group of tightly coupled PES packets referenced to substantially the same time base comprises an MPEG program stream (PS). Each PES packet also may be broken into fixed-sized transport packet known as MPEG Transport Streams (TS) that form a general-purpose approach of combining one or more content streams, possible including independent time bases. Moreover, MPEG frames may include intra-frames (I-frames), forward predicted frames (P-frames), and/or bi-directional predicted frames (B-frames).
While MPEG has been in wide use for video compression or encoding, such algorithms have often still been considered too inefficient, costly, and/or slow for the amount and/or type of digital video content that users often demand access to over the Internet. Many video encoding codecs exist, some of which use more sophisticated, complex algorithms to encode an image sequence using fewer bits than MPEG-2. For example, MPEG-2 has been followed by MPEG-4 and then, more recently, by H.264. However, use of such compression or encoding algorithms may still use considerable computing resources. Therefore, it is respect to these and other considerations that the following is provided.